-
Notifications
You must be signed in to change notification settings - Fork 17.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
hwdef: SpeedyBeeF405-bdshot variant #28084
Conversation
libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405WING-bdshot/hwdef-bl.dat
Outdated
Show resolved
Hide resolved
I don't think I've seen pull requests from SpeedyBee directly - they're definitely not ArduPilot partners. Feel frree to nudge them in either of those directions, or both :-) |
... also note this PR from @andyp1per which should be related; rearranging DMA channels is often for motor-output stuff, which you're playing with: https://github.com/ArduPilot/ardupilot/pull/22300/files ... please state what testing you've done on this PR. "I've flown it a lot" is good, for example... |
I asked SpeedyBee to add bidshot support, sent them the edits, they promised to do it. A month has already passed, nothing has been added. So I decided to add it myself. Made by analogy with matek405wing-bidshot Delete hwdef-bl.dat
testing many times, also testing did some of my subscribers |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Thanks. You might read up on git "topic branches", rather than committing to your master branch. I think this can go in, just need @Hwurzburg to be OK with it, I think. Marking it for DevCall, anyway. |
I asked SpeedyBee to add bidshot support, sent them the edits, they promised to do it. A month has already passed, nothing has been added. So I decided to add it myself. Made by analogy with matek405wing-bidshot Delete hwdef-bl.dat
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure this has gotten full testing...tim4 is shared with spi3
also the comment is incorrect, UART3 does not have full DMA, but only UART1 requires it, and it still does, so the comment is incorrect and needs tp be changed
this needs Andys approval....and a squash
Make it by compare matek405Wing-bdshot and start using on 4.4.5 So if in in SB405 is mistake, so then matek405Wing-bdshot also had mistake. I hade both FC, and now with dshot. SpeedybeeWing using on 4 planes with modifed fw. of couse was problem with bluejay at 4.5.x, before i used 4.4.3 as IMHO it's more stable. when bluejay support fixed, I upgraded to 4.5.5 but was problem with temp at 4.5.5, and i fixed it localy (in 4.5.6 i saw already fixed it, so now only editing in hdef was needed.). |
I can't see how this will work well:
SPI locks both TX ad RX so you have SPI3 sharing with I2C (always bad) and TIM4_CH1 |
But yeah you are right, Matek has similar or worse problems, so if its working well for you it seems like a reasonable change. |
Actually doing it this way is better:
Can you try this? No conflict with I2C, the SPI device is OSD and because of fixes in 4.5 we get IC channel sharing with the UP channel on TIM3 |
Did it. with blheli_s ESC with bluejay - all working. Compass working, motors arming and spinning, esc show rpm and temperature with: But on other model with esc blheli_32 didnt work motors, and esc didnt init with SERVO_DSHOT_ESC,1 and SERVO_DSHOT_ESC,3 |
Ping @andyp1per - your suggestion apparently stopped one of @setupfpv 's tests from working. Thoughts? |
[10:25 AM]joshanne (James): On the same hand, do we have advice on bringing up a new board addressing the same issues? |
As I understand it, there are a lot of boards on F405 with the ending -dshot, then they are crooked, but available for downloading and use in the stable branch |
You will still have to shorten the board name I think. "CHIBIOS_SHORT_BOARD_NAME must be 23 characters or less" |
I wrote this, but the developers didn't like this option. It also doesn't work with the bootloader |
This afternoon I do bench test on a plane fpv nice loaded as serials used. |
I don't see how this can be related, the BlueJay and BLHeli32 code paths are the same, its just the pulse widths that are different. Are you saying BLHeli32 worked with your original changes? |
Yep, partialy. If i connect usb cable and waiting FC init, and then connect battery, then ESC with Blheli_32 initialise. But if i only connect battery, will not. It looks like BUG with bluejay ESC before ardupilot 4.5.5 fw. |
So I am confused, are my proposed changes good or not? |
Well, it depends on how you look at it. On the one hand, the point of a dshot is to get RPM and temperature data from the regulator on the Blheli_S/Bluejay. For the Blheli_32 there is already a telemetry port. |
I'm still confused, what is working and what is not |
All working. But with blheli32, only if you powerUP ESC after powerUP and boot FC. |
This won't be related to the DMA allocation. BLHeli has a complicated signal detection scheme that relies on receiving a number of good frames over a certain period. Lot's of different things can interfere with this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still think this should be folded into the existing firmware, but if @Hwurzburg is ok with it like this then I am ok
since this now does not impact dshot on other outputs should just be a change to std firmware and not separate target |
Tested on the bench, found no problems. |
and what about blheli_32? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Andy and I agree this should just be a change to the basic SpeedyBeeeF405WING....I have done it for you here #28137, to avoid having you do it and given you commit credit (in case you want it)...just need Andy to final approve
I tested your original implementation and had no problems with BLHeli32, if you want I will also try with AM32. PB0 TIM3_CH3 TIM3 PWM(3) GPIO(52) BIDIR TIM3 it is true that it is also shared with I2C1_TX channel but I did not detect any problems, although potentially there could be. |
replaced by #28137 |
I asked SpeedyBee to add bidshot support, sent them the edits, they promised to do it. A month has already passed, nothing has been added. So I decided to add it myself. Made by analogy with matek405wing-bidshot